package service.mailer;

import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;
import service.helper.HTMLString;
import valueObject.AcompananteVO;
import valueObject.UsuarioRegistradoVO;

/**
 *
 * @author Juan Sebastian Hernández Serrato
 */
public class FormularioDeRegistroBuilder extends MailBuilder{

    UsuarioRegistradoVO usuarioRegistrado;

    public FormularioDeRegistroBuilder(UsuarioRegistradoVO usuarioRegistrado) {
        this.usuarioRegistrado = usuarioRegistrado;
    }
    
    @Override
    public void buildContent() {
        HttpServletRequest origRequest = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
        String body ="";
        body += "<html>"+
                    "<body>"+
                        "<h4>Registro de usuario en el evento: "+HTMLString.escapeHTML(usuarioRegistrado.getFormulario().getActividad().getNombre())+"</h4>"+
                        "<table border='1'>"+
                            "<tr>"+
                                "<td>"+"Apellido"+"</td>"+
                                "<td>"+HTMLString.escapeHTML(usuarioRegistrado.getApellido())+"</td>"+
                            "</tr>"+
                            "<tr>"+
                                "<td>"+"Nombre"+"</td>"+
                                "<td>"+HTMLString.escapeHTML(usuarioRegistrado.getNombre())+"</td>"+
                            "</tr>"+
                            "<tr>"+
                                "<td>"+"Tipo de Documento"+"</td>"+
                                "<td>"+HTMLString.escapeHTML(usuarioRegistrado.getTipoDeDocumento())+"</td>"+
                            "</tr>"+
                            "<tr>"+
                                "<td>"+"Documento"+"</td>"+
                                "<td>"+HTMLString.escapeHTML(usuarioRegistrado.getDocumento())+"</td>"+
                            "</tr>"+
                            "<tr>"+
                                "<td>"+"Celular"+"</td>"+
                                "<td>"+HTMLString.escapeHTML(usuarioRegistrado.getCelular())+"</td>"+
                            "</tr>"+
                            "<tr>"+
                                "<td>"+"Correo"+"</td>"+
                                "<td>"+HTMLString.escapeHTML(usuarioRegistrado.getCorreo())+"</td>"+
                            "</tr>"+
                            "<tr>"+
                                "<td>"+"Dependencia"+"</td>"+
                                "<td>"+HTMLString.escapeHTML(usuarioRegistrado.getDependencia())+"</td>"+
                            "</tr>"+
                            "<tr>"+
                                "<td>"+"Tipo de Contrataci&oacute;n"+"</td>"+
                                "<td>"+HTMLString.escapeHTML(usuarioRegistrado.getTipoDeContratacion().getNombre())+"</td>"+
                            "</tr>"+
                            "<tr>"+
                                "<td>"+"Genero"+"</td>"+
                                "<td>"+HTMLString.escapeHTML(usuarioRegistrado.getGenero())+"</td>"+
                            "</tr>"+
                            "<tr>"+
                                "<td>"+"Tel&eacute;fono"+"</td>"+
                                "<td>"+HTMLString.escapeHTML(usuarioRegistrado.getTelefono())+"</td>"+
                            "</tr>"+
                            "<tr>"+
                                "<td>"+"Punto de Encuentro"+"</td>"+
                                "<td>"+HTMLString.escapeHTML(usuarioRegistrado.getPuntoDeEncuentro().getDescripcion())+"</td>"+
                            "</tr>";
        for (AcompananteVO acompananteVO : usuarioRegistrado.getAcompanantes()) {
            body+=          "<tr>"+
                                "<td>"+"Acompanante"+"</td>"+
                                "<td><a href='http://"+origRequest.getLocalAddr()+":8080/SIBUFrontEnd-war/servlet/upload/abrir?id="+acompananteVO.getId()+"'>"+acompananteVO.getTipoDocumento()+
                                    " - "+acompananteVO.getDocumento()+"<br/>"+acompananteVO.getNombreCompleto()+"<br/>"+acompananteVO.getParentesco()+"</a></td>"+
                            "</tr>";
        }
        body +=
                        "</table>"+
                        "<a href='http://"+origRequest.getLocalAddr()+":8080/SIBUFrontEnd-war/AceptarUsusario?id=" + usuarioRegistrado.getId() + "'>Aceptar Registro</a> "+
                        //"<a href='http://"+origRequest.getLocalAddr()+":8080/SIBUFrontEnd-war/'>Negar Registro</a>"+
                    "</body>"+
                "</html>";
        uPNMail.setHtmlContent(body);
        uPNMail.setTextContent("Para ver este mensaje por favor usa un navegador que soporte HTML");
    }

    @Override
    public void buildDestinatary() {
        uPNMail.setTo("eventosinstitucionalesdbu@pedagogica.edu.co");
    }

    @Override
    public void buildSubject() {
        uPNMail.setSubject("Notificación de Registro en " + usuarioRegistrado.getFormulario().getActividad().getNombre());
    }
}